, , , , ,

Comment envoyer l’adresse IP de sa box automatiquement par courriel (SMTP) en ligne de commande ?

Envoyer un mail par SMTP en ligne de commande

Installation

Installez le paquet msmtp.

Si vous aviez déjà installé des paquets désormais inutiles, un petit rappel sur la suppression d'un paquet.

Ce tutoriel se base sur l'utilisation de msmtp. Il existe bien sûr d'autres solutions pour envoyer des courriels en ligne de commande. ssmtp propose les mêmes fonctionnalités en se basant sur un fichier de configuration très semblable, par exemple.

Configuration

Ne pas utiliser de commande sudo. C'est bien l'utilisateur qui envoie les mails.
nano ~/.msmtprc
account default
host smtp.monfai.fr
from prenom.nom@monfai.fr
auth off
#auth on
#si jamais auth off ne passe pas
user prenom.nom
#si votre fai vous identifie plus clairement si vous reprécisez le domaine, alors plutôt cela :
#user prenom.nom@fai.fr
password monmotdepasse
chmod 600 ~/.msmtprc
Configurations spécifiques (en fin de tuto)

Utilisation

cat readme.txt | msmtp johnny@liday.ch
uuencode application.zip | msmtp johnny@liday.ch

Vérification

Envoyer l'IP de sa box automatiquement

Installation

S'il vous manque GET installez le paquet GET

Récupérer l'IP externe de sa box

GET whatismyip.org
nano ~/getip
GET whatismyip.org > .myip
echo "" >> .myip
sleep 1
GET whatismyip.org >> .myip
echo "" >> .myip
sleep 1
GET whatismyip.org >> .myip
echo "" >> .myip
sh ~/getip
cat ~/.myip
92.122.18.135
92.122.18.135
92.122.18.135

Envoyer son IP de box à son courriel au bureau

cat ~/.myip | msmtp johnny@whitehouse.gov

Automatiser l'envoi de son IP de box vers le bureau

nano ~/getip
...
cat .myip | msmtp johnny@whitehouse.gov
chmod 700 ~/getip

Utilisation

sh ~/getip

Vérification

Programmation de l'envoi automatique

Par la crontab

Le système crontab intégré à unix/linux permet une programmation simple de l'exécution de commandes et scripts.

Modification de la crontab

crontab -l > cron
On évite systématiquement l'édition par la commande crontab -e, parce que la perte de 50 lignes de programmation sur un serveur de production, ça fait toujours chaud aux oreilles !
nano cron
23 8,12,15,18 * * 1-5 /home/johnny/getip
# à 08:23 12:23 15:23 et 18:23 tous les jours du lundi au vendredi
# parce que les soirs et week-end je suis à la maison
# et que c'est encore plus simple de récupérer mon IP

Injection des modifications de la crontab

crontab ~/cron
Vérification de la crontab
crontab -l
...
23 8,12,15,18 * * 1-5 /home/johnny/getip
...
Nettoyage
rm ~/cron
Remarques :
  • Si l'envoi répété de l'IP sature votre boîte de courriel, à vous de modifier la programmation
  • la configuration de msmtp peut être beaucoup plus pointue, man et documentation peuvent vous aider.

Configurations particulières

gmail

~/.msmtprc
account default
tls on
host smtp.gmail.com
from nom_user@gmail.com
auth on
user nom_user
password password_user
tls_starttls off
tls_certcheck off

Références

Contributeurs

kerkael création de la page le 21/08/2009